the specification of software on our PC

step-by-step tutorial

1> prepare sample slide

  • prepare the cell or tissue culture on a coverslip.

  • mount it with 1 μM biotin-benzophenone in 50:50 DMSO:water and store in dark.

    • the biotin-benzophenone is photo-active under two-photon excitation at 720 nm

2> photo-labeling on microscope

2.1 load the slide on microscope (we use zeiss LSM 880) and use 25x oil immersion lens.

2.2 start the applications on Windows:

  • ZEN black; imageJ/Fiji; Spyder; Sikulix; Chrome

  • the layout on our PC screen.

    • the image above shows the GUI of ZEN black.

      • ZEN black GUI occupies the whole screen all the time.

      • other applications either sit on its top temporarily or hide in the background.

    • block 1: choose a multi-dimensional experiment

    • block 2: set up the lasers required by the experiment.

      • i.e. 488 nm laser for AF 488 dye; 720 nm for two-photon labeling

    • block 3: setup the autofocus

    • block 4: the panel to load multiple positions

      • add: add a location
      • save: save a position file “.pos”
      • load: load a position file “.pos”

    • block 5: the Windows task bar at the bottom shows all the active applications

    • the image above shows block 6 in ZEN black.

  • the GUIs of applicaitons other than ZEN

    • the image above shows:

    • block 7: sikulix GUI or spyder GUI

      • one brought to the front of Zen black GUI at a time

      • sikulix

      • Spyder

    • block 8: imageJ

    • block 9: STOMP macro GUI

  • WARNING: the blocks 2,3,4 in ZEN black must not be blocked. Otherwise, the sikulix code will crash.

2.3 setup the tiles

  • the workflow

    • please check the video

    • 2.3.1 find the boundary points along the coverslip.

      • move along the edge of the coverslip. Stop at a location and manually focus on the sample.

      • add the location to the ‘Positions’ Panel.

      • keep going until 6~8 locations are collected.

      • save the boundary position list.

    • 2.3.2. calculate the tiles within the shape refined in the boundary points.

      • call the script “tileScanConvexHullz_split.py” in Spyder

        • line 12: enter the path of the pre-saved “.pos” file of the boundary list

        • line 14: enter value of the tile size, always NOT smaller than of the scale of field of view. i.e. 25x lens on our LSM 880, the size of each field is 340.1 μm.

        • line 16: the maximum numbers of tiles can be written into a position file.

          • ZEN black may freeze when a positioin file contains more than 120 positions is loaded.

      • run the script “tileScanConvexHullz_split.py” after the parameters are entered.

      • position files are generated: “tilePos-1.pos”, “tilePos-2.pos”, “tilePos-3.pos”,…

      • the information of position files are printed out in the panel “iPython console”.

      • the position file is loaded into Zen black in the “Positions” panel

    • 2.3.3. setup the imaging parameters

      • load a position file, move to a tile position, then tune the laser powevr, receiver gain, and etc. to get an image with decent signal.

      • test 1~2 tiles. Then the imaging parameters are settled.

      • acquire images with 512 x 512 pixel-by-pixel format.

      • warning: close all active images in Zen black after the test.

    • 2.3.4. call imageJ/Fiji

      • install the Fiji macro used for mask generation

        • “self.ijm” and “donut.ijm” are provided

      • the imageJ macro: “donut.ijm” is loaded

      • test processing images acquired in step 2.3.3. make sure the ijm macro works properly.

        • warning: after test, close all active images and windows by calling the macro “clearWindows”.

2.4 automation with the sikulix code

- ### 2.4.1. set up the input parameters of sikulix code
    - ### call the script "stp_call_oneChannel.sikuli"
    - ### enter the parameters obtained in step 2.3.2 to the script.
    - ## check the details in "instruction_of_sikuli_code.html"
    <img src="./tutorial/sikuli.jpg" width="90%" />
- ### 2.4.2. run the sentinel script "checkFreezingCode.py" in Spyder
    - #### this script will monitor the sikuli and report a frozen status if there is.
    - #### hide the window of Spyder when the run starts.
    <img src="./tutorial/sc3.jpg" width="90%" />
    - #### zoom in at the GUI of Spyder
    <img src="./tutorial/py2.jpg" width="100%" />
- ### 2.4.3. load the STOMP macro if not yet.
    <img src="./tutorial/stpmacro.jpg" width="100%" />
- ### 2.4.4. check if the web-portal of Gmail is open in Chrome
    - ### hide Chrome GUI before running sikulix
  • 2.5 run the sikulix code

    • please check this video of automation

    • once the run starts, its window will disappear.

    • Plus, its icon cannot be found at the task bar at the bottom of Windows desktop.

    • the sikulix IDE will re-appear when it is interrupted and forced to quit.

  • trouble shooting

    • if sikulix is forced to stop, try to fix the problem by learning the error message.

    • since other exceptions could happen, the current code is not expected to barricade all the exceptions.

    • check the exceptions that has been dealt with in “instruction_of_sikuli_code.html”

  • resume the sikulix run

    • go through the step 2.3 to 2.4 to ensure it is ready for sikulix automation.

    • set the tile where the automation should be resumed in “stp_call_oneChannel.sikuli”

    • For instance, resume STOMP from position file #2 and tile position #51

3> count the pixels STOMPed

  • 3.1 the images and log files are organized into the folders by the order of the position files generated at the step 2.3.2.

  • 3.2. run the python code “TotalPixels_allLogs.py” in Spyder.

    • line 15: enter the path of the parent folder generated at step 2.4.1.

    • the script will iterate through all its subfolder and collect and summarize the total pixels.

  • 3.3 Typically, labeling 4~5 million pixel with mask resoution: 512x512 pixel-by-pixel under 25x lens should render sufficient proteins for one sample for Mass Spec submission.

    • four days per sample on the microscope is required.